(1) Field of the Invention
The invention relates to data transfer systems. More specifically the invention relates to bandwidth reclamation on a full duplex bus.
(2) Related Art
For high speed data transfers over a distance, various high speed serial data transfer mechanisms have been developed. The IEEE Standard for a High Performance Serial Bus, IEEE Std. 1394-1995 published Aug. 30, 1996 (1394-1995 Standard) and its progeny provide a high speed serial protocol which permits implementation of high speed data transfers. The existing progeny includes P1394a Draft Standard for a High Performance Serial Bus (1394a Standard) and P1394b Draft Standard for a High Performance Serial Bus (1394b Standard). Generically, systems implementing 1394-1995, 1394a, 1394b or subsequent revisions and modifications thereof are referred to herein as 1394 systems.
In 1394 systems a plurality of nodes are organized into a tree topology. Additionally, all nodes are initially deemed peer to peer but on bus reset, one node assumes root status while the remaining nodes become branches and leaves of the topology. Both 1394-1995 and 1394a are half-duplex protocols. Thus, data may only flow in one direction at any given time. Typically a primary packet is sent by a source node out all ports. A downstream destination node identifies from a header of the packet that the packet is directed to it. The recipient then receives the packet, and after the entire primary packet is received and the acknowledge gap permits reversing the bus, an acknowledgment (ACK) packet is sent to the source. If the packet is not completely received, the destination node still waits until the transmission and ACK gap are complete before sending an ACK packet to the source indicating that the source should send the packet again later because the destination was busy or an error occurred.
Both of these protocols employ a discrete arbitration phase during which all nodes seeking access to the bus send arbitration requests to the root node. The root node then resolves the arbitration and grants the bus to one of the arbitrating nodes. During this discrete arbitration phase no other useful work can be done on the bus.
The 1394b Standard provides a full-duplex serial bus protocol. Busses employing the 1394b Standard may be able to reduce the ACK gap as the bus direction need not be reversed, but they still generally follow the primary packet/ACK scheme discussed above. Bus bandwidth is often a scarce resource. Efforts to improve bus efficiency are ongoing.